﻿using System.Collections.Generic;

namespace GomTest.GenTalents
{
    class AdvancedClass
    {
        public string Id;
        public string Name;
        public int Index;
        public int Version;
        public List<string> Trees;

        public override string ToString()
        {
            return string.Format("{0} {1} {2} {3}{4}{5}",
                Id, Name, Index,
                Trees.Count > 0 ? Trees[0] : "No Trees",
                Trees.Count > 0 ? " " + Trees[1] : "",
                Trees.Count > 0 ? " " + Trees[2] : "");
        }
    }

    struct TalentTree
    {
        public string LayoutFile;
        public string Package;
        public string Prefix;
        public string Id;
        public string Name;
        public string Color;
        public int Version;
        public List<TalentInfo> Talents;
        public int Position;

        public override string ToString()
        {
            return string.Format("{0} {1} {2} {3} Count: {4}", Id, Name, Color, Position, Talents.Count);
        }
    }

    class TalentInfo
    {
        public int Row { get; set; }
        public int Col { get; set; }

        public string Id { get; set; }
        public string Fqn { get; set; }
        public string Prereq { get; set; }
        public int MaxPoints { get; set; }

        public GomLib.Models.Ability Ability { get; set; }
        //public string Name { get; set; }
        //public string Description { get; set; }
        //public float Cooldown { get; set; }
        //public float CastingTime { get; set; }
        //public float ChannelingTime { get; set; }
        //public float ApCost { get; set; }
        //public float ForceCost { get; set; }
        //public float EnergyCost { get; set; }
        //public float MinRange { get; set; }
        //public float MaxRange { get; set; }
        //public bool IsPassive { get; set; }
        //public string Icon { get; set; }
        //public List<string> Params { get; set; }

        public override string ToString()
        {
            return string.Format("R{0:00} C{1:00} Id {2} Pts {3} Prereq {4} {5}",
                Row, Col, Id, MaxPoints, Prereq, Ability);
        }
    }
}